package com.cbh.binlog.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Binlog客户端配置器
 *
 * @author ChenBiHui
 * @date 2025/1/21
 */
@Data
@ConfigurationProperties(prefix = "spring.binlog-client")
public class BinlogClientConfig {

    /**
     * 驱动类型
     */
    private String type;

    /**
     * 目标数据源Host
     */
    private String host;

    /**
     * 目标数据眼端口
     */
    private Integer port;

    /**
     * 默认连接库(仅用于刷新表结构模型使用,并不限制只监听该实例)
     */
    private String schema;

    /**
     * 目标数据源用户名
     */
    private String username;

    /**
     * 目标数据源密码
     */
    private String password;

    /**
     * 是否开启解析优化特性(默认:开启)
     */
    private Boolean openTrans = true;

    /**
     * 消费者组负载数量
     * <br/>
     * tips:
     * <br/>
     * 对于每个库.表绑定关系不受影响,依旧是全生命周期由一个线程池管理,
     * <br/>
     * 只会基于该值影响消费者组所管理的库.表关系
     */
    private Integer load = 2;

    /**
     * 监听器服务ID(全局唯一)
     */
    private Long serverId = 222L;
}
